package com.raitcon.hibernate.bean;
// Generated 30/08/2014 12:24:46 PM by Hibernate Tools 3.2.1.GA

import java.math.BigDecimal;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

/**
 * NotaMensualProm generated by hbm2java
 */
@Entity
@Table(name="nota_mensual_prom"
    ,schema="public"
    , uniqueConstraints = @UniqueConstraint(columnNames={"id_alumno", "id_asignatura", "id_cronograma_evaluacion"}) 
)
public class NotaMensualProm  implements java.io.Serializable {


     private long idNotaMensualProm;
     private Alumno alumno;
     private CronogramaEvaluacion cronogramaEvaluacion;
     private Nota nota;
     private Asignatura asignatura;
     private BigDecimal promC1;
     private BigDecimal promC2;
     private BigDecimal promC3;
     private BigDecimal promAc1;
     private BigDecimal etC1;// etc1, etC2, etC3,Variables que almacenara las notas finales de cada trimestre
     private BigDecimal etC2;
     private BigDecimal etC3;

    public NotaMensualProm() {
    }

	
    public NotaMensualProm(long idNotaMensualProm) {
        this.idNotaMensualProm = idNotaMensualProm;
    }
    public NotaMensualProm(long idNotaMensualProm, Alumno alumno, CronogramaEvaluacion cronogramaEvaluacion,
            Nota nota, Asignatura asignatura, BigDecimal promCalificacion) {
       this.idNotaMensualProm = idNotaMensualProm;
       this.alumno = alumno;
       this.cronogramaEvaluacion = cronogramaEvaluacion;
       this.nota = nota;
       this.asignatura = asignatura;
       this.promC1 = promCalificacion;
    }
    
     @SequenceGenerator(allocationSize=1, initialValue=1, sequenceName="secuencia_id_nota_mensual_prom", 
            name="secuencia_id_nota_mensual_prom")
    @GeneratedValue(generator="secuencia_id_nota_mensual_prom", strategy=GenerationType.SEQUENCE) 
   
     @Id 
    
    @Column(name="id_nota_mensual_prom", unique=true, nullable=false)
    public long getIdNotaMensualProm() {
        return this.idNotaMensualProm;
    }
    
    public void setIdNotaMensualProm(long idNotaMensualProm) {
        this.idNotaMensualProm = idNotaMensualProm;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_alumno")
    public Alumno getAlumno() {
        return this.alumno;
    }
    
    public void setAlumno(Alumno alumno) {
        this.alumno = alumno;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_cronograma_evaluacion")
    public CronogramaEvaluacion getCronogramaEvaluacion() {
        return this.cronogramaEvaluacion;
    }
    
    public void setCronogramaEvaluacion(CronogramaEvaluacion cronogramaEvaluacion) {
        this.cronogramaEvaluacion = cronogramaEvaluacion;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_nota")
    public Nota getNota() {
        return this.nota;
    }
    
    public void setNota(Nota nota) {
        this.nota = nota;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_asignatura")
    public Asignatura getAsignatura() {
        return this.asignatura;
    }
    
    public void setAsignatura(Asignatura asignatura) {
        this.asignatura = asignatura;
    }
    
    @Column(name="prom_c1", precision=2, scale=0)
    public BigDecimal getPromC1() {
        return this.promC1;
    }
    
    public void setPromC1(BigDecimal promC1) {
        this.promC1 = promC1;
    }

    /**
     * @return the promC2
     */
    @Column(name="prom_c2", precision=2, scale=0)
    public BigDecimal getPromC2() {
        return promC2;
    }

    /**
     * @param promC2 the promC2 to set
     */
    public void setPromC2(BigDecimal promC2) {
        this.promC2 = promC2;
    }

    /**
     * @return the promC3
     */
    @Column(name="prom_c3", precision=2, scale=0)
    public BigDecimal getPromC3() {
        return promC3;
    }

    /**
     * @param promC3 the promC3 to set
     */
    public void setPromC3(BigDecimal promC3) {
        this.promC3 = promC3;
    }

    /**
     * @return the promAc1
     */
    @Column(name="prom_ac1", precision=2, scale=0)
    public BigDecimal getPromAc1() {
        return promAc1;
    }

    /**
     * @param promAc1 the promAc1 to set
     */
    public void setPromAc1(BigDecimal promAc1) {
        this.promAc1 = promAc1;
    }

    /**
     * @return the etC1
     */
    @Column(name="et_c1", precision=2, scale=0)
    public BigDecimal getEtC1() {
        return etC1;
    }

    /**
     * @param etC1 the etC1 to set
     */
    public void setEtC1(BigDecimal etC1) {
        this.etC1 = etC1;
    }

    /**
     * @return the etC2
     */
    @Column(name="et_c2", precision=2, scale=0)
    public BigDecimal getEtC2() {
        return etC2;
    }

    /**
     * @param etC2 the etC2 to set
     */
    public void setEtC2(BigDecimal etC2) {
        this.etC2 = etC2;
    }

    /**
     * @return the etC3
     */
    @Column(name="et_c3", precision=2, scale=0)
    public BigDecimal getEtC3() {
        return etC3;
    }

    /**
     * @param etC3 the etC3 to set
     */
    public void setEtC3(BigDecimal etC3) {
        this.etC3 = etC3;
    }




}


